package com.cdsxlc.common.service;

import com.cdsxlc.common.entity.TableColumns;

import java.util.List;

/**
 * @author zhang
 */
public interface GeneratorService {

    /**
     * 生成 entity 实体
     * @param tableColumns 表内容
     * @param className 类名
     * @param tableName 表名
     * @param comment 表注释
     */
    void generateEntity(String className, String tableName, List<TableColumns> tableColumns, String comment);

    /**
     * 生成数据 访问接口
     * @param className
     * @param tableColumns
     * @param comment
     */
    void generateRepository(String className , List<TableColumns> tableColumns, String comment);

    /**
     * 生成service
     * @param className
     * @param tableColumns
     * @param comment
     */
    void generateService(String className , List<TableColumns> tableColumns, String comment);

    /**
     * 生成service 实现
     * @param className
     * @param tableColumns
     * @param comment
     */
    void generateServiceImpl(String className , List<TableColumns> tableColumns, String comment);

    /**
     * 生成 DTO
     * @param className
     * @param tableColumns
     * @param comment
     */
    void generateDTO(String className, List<TableColumns> tableColumns, String comment);

    /**
     * 生成 VO
     * @param className
     * @param tableColumns
     * @param comment
     */
    void generateVo(String className, List<TableColumns> tableColumns, String comment);

    /**
     * 生成 controller 文件
     * @param className
     * @param tableColumns
     * @param tableComment
     */
    void generateController(String className, List<TableColumns> tableColumns, String tableComment);

    /**
     * 生成搜索DTO
     * @param className
     * @param tableColumns
     * @param tableComment
     */
    void generateSearchDTO(String className, List<TableColumns> tableColumns, String tableComment);
}
